/**
 * 
 */
package cn.ad.server.common.utils.monitor;

import java.util.List;

/**
 * @author Wu Chengjun
 *
 */
public interface Transaction extends MonitorMessage{
	
	/**
	 * 事务开始
	 */
	public void start();
	
	/**
	 * 事务结束
	 */
	public void complete();
	
	/**
	 * 消息名称
	 * @return
	 */
	public String getName();
	
	/**
	 * 返回事务执行时间
	 * @return
	 */
	public long getDuration();
	
	/**
	 * 添加子事务
	 * @param message
	 * @return
	 */
	public Transaction addChild(MonitorMessage message);
	
	
	/**
	 * 返回所有子事务
	 */
	public List<MonitorMessage> getChildren();
	
	
}
